$(function () {
  // 获取文章分类数据
  initCate();

  function initCate() {
    $.ajax({
      url: '/my/article/cates',
      type: "GET",
      success(res) {
        console.log(res);
        // 判断响应的结果
        if (res.status !== 0) return layer.msg(res.message || '获取失败');

        const htmlStr = template('tpl-table', res);

        $('#tb').html(htmlStr);
      }
    })
  }

  let indexAdd = null;
  $('#btnAdd').on('click', function () {
    indexAdd = layer.open({
      type: 1,
      area: ['500px', '250px'],
      title: '添加文章分类',
      content: $('#dialog-add').html(),
    })
  })

  // 通过代理的形式，为 form-add 表单绑定 submit 事件
  $('body').on('submit', '#form-add', function (e) {
    e.preventDefault()
    $.ajax({
      method: 'POST',
      url: '/my/article/addcates',
      data: $(this).serialize(),
      success: function (res) {
        if (res.status !== 0) {
          return layer.msg('新增分类失败！')
        }
        initCate()
        layer.msg('新增分类成功！')
        // 根据索引，关闭对应的弹出层
        layer.close(indexAdd)
      }
    })
  })

  // 保存编辑弹框的索引号
  const {form} = layui;
  let indexEdit = null;
  $('body').on('click', '.btn-edit', function (e) {
    indexEdit = layer.open({
      type: 1,
      area: ['500px', '250px'],
      title: '修改文章分类',
      content: $('#dialog-edit').html(),
    })

    // 获取当前点击的表单的id
    const id = $(this).data('id');
    //  发起请求获取当前编辑按钮对应的完整数据
    $.ajax({
      url: '/my/article/cates/' + id,
      type: 'GET',
      success(res) {
        console.log(res);
        form.val('form-edit', res.data);
      }
    })
  })

  // 更新文章分类数据
  $('body').on('submit', '#form-edit', function (e) {
    //  阻止默认行为
    e.preventDefault();
    $.ajax({
      url: '/my/article/updatecate',
      data: $(this).serialize(),
      type: "POST",
      success(res) {
        console.log(res)
        if (res.status !== 0) return layer.msg(res.message || '获取分类信息失败');
        // 提示成功信息
        layer.msg('更新分类数据成功');
        // 关闭弹出层
        layer.close(indexEdit);
        // 重新获取分类数据
        initCate();
      }
    })
  })

  $('body').on('click', '.btn-delete', function () {
    const id = $(this).data('id');
    layer.confirm('确认删除吗?', {icon: 3, title: '提示'}, function (index) {
      //do something
      $.ajax({
        url: '/my/article/deletecate/' + id,
        type: 'GET',
        success(res) {
          if (res.status !== 0) return layer.msg(res.message);
          // 删除成功
          layer.msg('删除成功')
          // 关闭弹出层
          layer.close(index);
          // 重新获取分类数据
          initCate();
        }
      })
    });
  })
  // 删除功能
})
